#include <iostream>
using namespace std;

//栈区数据注意事项 -- 不要返回局部变量的地址
//栈区数据由编译器管理开辟和释放

int* func(int b)//形参，也会放在栈区
{
    b = 99;
    int a = 10;//局部变量    存放在栈区，栈区的数据执行完后，自动释放
    return &a;//返回局部变量的地址
}

int main()
{
    int * p = func(1);

    cout << *p << endl;//第一次可以打印正确的数字，是因为编译器做了保留
    cout << *p << endl;//第二次，这个数据就不再保留了。

    return 0;
}